﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EjercicioI
{
    class Camion : Vehiculo
    {
        double precioDia;//atributo
        int diaAlquiler;//atributo
        int diaDevolucion;//atributo
        protected static int numCamiones;//atributo
        protected static int numCamAlquilados;

        public Camion(string matric, bool alquil, double precioDia) : base(matric, alquil) 
        {
            numCamiones++;//nota: aumenta el numero de camiones independientemente de si esta alquilado o no.. tener en mente
            this.precioDia = precioDia;
            if (Alquilado)
            {
                numCamAlquilados++;
            }
        }

        public override void alquilar(int diaAlquiler)
        {
            if (!Alquilado)
            {
                this.diaAlquiler = diaAlquiler;
                Alquilado = true;
                numCamAlquilados++;
            }
            else
            {
                Console.WriteLine("el camion ya se encuentra alquilado");
            }
        }

        public override void devolver( int diaDevolucion)
        {
            this.diaDevolucion = diaDevolucion;
            Alquilado = false;
            double costoTotal;
            costoTotal = (diaDevolucion - diaAlquiler) * precioDia;
            numCamAlquilados--;
        }

        public override void showInfo()
        {
            if (!Alquilado)
            {
                double costoTotal;
                costoTotal = (diaDevolucion - diaAlquiler) * precioDia;
                Console.WriteLine("Camion");
                Console.Write("La matricula del camion es: ");
                Console.WriteLine(Matricula);
                if (Alquilado)
                {
                    Console.WriteLine("El Camion se encuentra alquilado");
                }
                else
                {
                    Console.WriteLine("El Camion no se encuentra alquilado");
                }
                if (diaDevolucion != 0)
                {
                    Console.Write("El costo total del camion es de: ");
                    Console.WriteLine(costoTotal);
                }
                Console.Write("El Precio por dia del camion es: ");
                Console.WriteLine(this.precioDia);
                Console.Write("el numero total de camiones disponibles es: ");
                Console.WriteLine(numCamiones);
                Console.Write("el numero total de camiones alquilados es: ");
                Console.WriteLine(numCamAlquilados);
            }
        }
    }
}